package com.jwd.avmanager.util;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
import com.microsoft.sqlserver.jdbc.StringUtils;

import java.util.Collections;


public class JsonUtils {
    /**
     * @description 校验字符串是否是 json 格式
     */
    public static boolean isJson(String json) {
        if (StringUtils.isEmpty(json)) {
            return false;
        }
        boolean isJsonObject = true;
        try {
            JSONObject.parseObject(json);
        } catch (Exception e) {
            isJsonObject = false;
        }
        //不是json格式
        return isJsonObject;
    }


    public static boolean isJSONString(String content) {
        if (StringUtils.isEmpty(content)) {
            return false;
        }
        if (!content.startsWith("{") || !content.endsWith("}")) {
            return false;
        }
        try {
            JSONObject.parse(content);
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    public static boolean isJsonValid(String json) {
        try {
            new JsonParser().parse(json);
            return true;
        } catch (JsonSyntaxException e) {
            return false;
        }
    }

    public static boolean isJsonArray(String jsonString) {
        try {
            new JSONArray(Collections.singletonList(jsonString));
            return true;
        } catch (JSONException e) {
            return false;
        }
    }
}

